package com.wondertek.poms.service.vo;

import com.wondertek.poms.common.utils.validate.GroupType;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.groups.Default;

/**
 * @author evan0213
 * @description
 */
@Data
public class PcPrdInfoRateChargeVo {

	@NotNull(message = "id不能为空", groups = {GroupType.Update.class})
	private Long id;  //id

	/**
	 * <b>Fields</b> prdInfoId : 商品包ID
	 */
	@NotNull(message = "商品包ID不能为空", groups = {Default.class, GroupType.Update.class})
	private Long prdInfoId;

	/**
	 * <b>Fields</b> chargePointId : 计费ID 可多选
	 */
	private Long chargePointId;

	/**
	 * <b>Fields</b> equityId : 权益节点id
	 */
	private Long equityId;

	/**
	 * <b>Fields</b> channelPackageId : 渠道包ID
	 */
	private Long channelPackageId;

	/**
	 * <b>Fields</b> chargeType : 计费类型 1:基本计费 2:促销计费 3 下载收费 4 码率收费
	 */
	@Range(message = "计费类型，取值范围[1-9]", min = 1, max = 9, groups = {Default.class, GroupType.Update.class})
	private Integer chargeType;

	/**
	 * <b>Fields</b> price : 价格
	 */
	@Length(message = "价格长度不能超过255个字节", max = 512, groups = {Default.class, GroupType.Update.class})
	private String price;

	/**
	 * <b>Fields</b> rateLabel : 收费码率 1:高清收费 2:4K收费
	 */
	@NotBlank(message = "收费码率不能为空", groups = {Default.class, GroupType.Update.class})
	@Length(message = "收费码率长度不能超过255个字节", max = 255, groups = {Default.class, GroupType.Update.class})
	private String rateLabel;


	/**
	 * <b>Fields</b> remarks : 备注
	 */
	@Length(message = "备注长度不能超过512个字节", max = 512, groups = {Default.class, GroupType.Update.class})
	private String remarks;
}
